#region Using References

using System.Diagnostics.CodeAnalysis;

#endregion

namespace Beaker.OpenCube.Specs.Builders
{
	[ExcludeFromCodeCoverage]
	public sealed class ObservableExpandoTestObject
		: ObservableExpandoObject
	{
		private string _hard;

		/// <summary>
		/// Hardcoded property with local backing store
		/// </summary>
		public string Hard
		{
			get { return _hard; }
			set { SetValue( ref _hard, value ); }
		}

		/// <summary>
		/// Softcoded property, type safe access via actual compile time property, but backingstore provided by expando
		/// </summary>
		public string Soft
		{
			get { return (string)GetValueOrDefault( null ); }
			set { SetValue( value ); }
		}

		// Dynamic is implicit
		// No property, but using dynamic to get or set it
	}
}